namespace java com.lpf.generated.thrift
namespace py com.lpf.generated.thrift

typedef i16 short
typedef i32 int
typedef i64 long
typedef bool boolean
typedef string String

// 代表一个对象
struct Person {
    1: optional String username,
    2: optional int age,
    3: optional boolean married
}

// 方法调用过程当中可能发生的异常
exception DataException {
    1: optional String message,     // 异常信息
    2: optional String callStack,   // 异常的调用堆栈
    3: optional String date         // 发生的时间（Thrift不支持日期类型，需要使用string来表示）
}

// 相当于Java当中的service类
service PersonService {
    Person getPersonByUsername(1: required String username) throws(1: DataException dataException),
    void savePerson(1: required Person person) throws (1: DataException dataException)
}